﻿# -*- codeing = utf-8 -*-
# @Time: 2021/9/12 16:33
# @Author: Ivan
# @File: card_tool.py
# @Software: PyCharm

# 保存所有的名片
card_list = []

def show_menu():
    """显示菜单"""
    print('*' * 50)
    print('欢迎使用【名片管理系统】 V 1.0')
    print()
    print('1.新增名片')
    print('2.显示全部')
    print('3.搜索名片')
    print()
    print('0.退出系统')
    print('*' * 50)


def new_card():
    """新增名片"""
    print('-' * 50)
    print('新增名片')
    # 1.输入名片信息
    name = input('请输入姓名：')
    phone = input('请输入电话：')
    qq = input('请输入QQ：')

    # 2.保存字典
    card = {
        'name': name,
        'phone': phone,
        'qq': qq
    }

    # 3.保存到列表中
    card_list.append(card)

    # 4.提示成功
    print('添加 %s 的名片成功!' % name)


def show_all():
    """显示所有名片"""
    print('-' * 50)
    print('显示所有名片')

    # 1.判断是否有名片记录
    if len(card_list) == 0:
        print('还没有名片记录,请先添加记录!')
        # 直接返回,不再向下执行
        return

    # 2.打印表头
    print('姓名\t\t\t电话\t\t\tQQ')

    # 3.打印分割符
    print('=' * 50)

    # 4.遍历列表输出
    for card in card_list:
        print('%s\t\t\t%s\t\t\t%s' % (card['name'],
                                      card['phone'],
                                      card['qq']))


def search_card():
    """搜索名片"""
    print('-' * 50)
    print('搜索名片')

    # 1.提示输入查询的姓名
    find = input('请输入要查询的名字：')

    # 2.遍历列表查找
    for card in card_list:
        if card['name'] == find:
            print('姓名\t\t\t电话\t\t\tQQ')
            print('=' * 50)
            print('%s\t\t\t%s\t\t\t%s' % (card['name'],
                                          card['phone'],
                                          card['qq']))
            # 修改、删除名片
            deal_card(card)
            break
    else:
        print('抱歉,没有找到 %s' % find)


def deal_card(card):
    """处理名片"""
    action = input('请选择要执行的操作：[1]修改  [2]删除  [0]返回上级')
    if action == '1':
        card['name'] = input_info(card['name'], '姓名:')
        card['phone'] = input_info(card['phone'], '电话:')
        card['qq'] = input_info(card['qq'], 'QQ:')
        print('修改 %s 成功!' % card['name'])
    elif action == '2':
        card_list.remove(card)
        print('删除 %s 成功!' % card['name'])


def input_info(value, msg):
    """输入名片信息"""
    # 1.提示输入
    result = input(msg)

    # 2.输入了返回值
    if len(result) > 0:
        return result

    # 3.没有输入返回原值
    return value





